// Copyright 2019 by 马万里. All rights reserved.
// 开发团队 ：   鸡中之霸
// 开发人员 ：   马万里
// 开发时间 ：   2019-02-23 22:07
// 文件名称 ：   note.go
// 工程名称 ：   beego_project
// 开发工具 ：   GoLand
//

package models

import (
	"fmt"
	"github.com/jinzhu/gorm"
)

type Note struct {
	gorm.Model
	Key     string `gorm:"unique;not null"`
	UserID  int
	User    User
	Title   string `gorm:"type:varchar(200)"`
	Summary string `gorm:"type:varchar(800)"`
	Content string `gorm:"type:text"`
	Visit   int    `gorm:"default:0"`
	Praise  int    `gorm:"default:0"`
}

func QueryNoteByKey(key string) (note Note, err error) {
	return note, db.Where("key=?", key).Take(&note).Error
}

func SaveNote(note *Note) error {
	return db.Save(note).Error
}

func QueryNotesByPage(title string, page int, limit int) (notes []*Note, err error) {
	// like %title%
	return notes, db.Where("title like ?", fmt.Sprintf("%%%s%%", title)).Offset((page - 1) * limit).Limit(limit).Find(&notes).Error
}

func QueryNotesCount(title string) (count int, err error) {
	return count, db.Model(&Note{}).Where("title like ?", fmt.Sprintf("%%%s%%", title)).Count(&count).Error
}
